package kotlin.design.template

/**
 * 模板模式
 *@description:
 *@author: liushilin
 *
 */
abstract class AbstractTemplate {
    abstract fun init()

    fun test(){
        init()
    }
}

class Template1 : AbstractTemplate (){
    override fun init() {
        print("init1")
    }
}

class Template2 : AbstractTemplate (){
    override fun init() {
        print("init2")
    }
}

fun main(args: Array<String>) {
    val t1= Template1()
    val t2 = Template2()

    t1.init()
    t2.init()
}

